package com.endbd.census.user.service.impl;

import com.endbd.census.user.dao.ICustomDao;
import com.endbd.census.user.dao.IOutStoreDao;
import com.endbd.census.user.model.*;
import com.endbd.census.user.service.ICustomInfoService;
import com.endbd.census.user.service.IOutStoreService;
import com.endbd.census.util.PageModel;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;

@Service
public class OutStoreService implements IOutStoreService {
    @Autowired
    private IOutStoreDao iOutStoreDao;


    @Override
    public PageModel<OutStoreInfo> queryOutStoreInfoListByCondition(OutStoreCondition conn,int pagenum,int pagesize) {
        //开启分页拦截
        PageHelper.startPage(pagenum,pagesize);

        List<OutStoreInfo> outStoreInfos = iOutStoreDao.queryOutStoreInfoListByCondition(conn);
        PageInfo<OutStoreInfo> pageInfo = new PageInfo<>(outStoreInfos);
        PageModel<OutStoreInfo> pageModel = new PageModel<>();

        //包装pageModel
        pageModel.setPageNum(pageInfo.getPageNum());
        pageModel.setPageSize(pageInfo.getPageSize());
        pageModel.setTotalCount((int) pageInfo.getTotal());
        pageModel.setTotalPage(pageInfo.getPages());
        pageModel.setData(outStoreInfos);

        return pageModel;
    }

    @Override
    public PageModel<OutStoreInfo> queryOutStoreDetailByOutStoreId(String id, int pagenum, int pagesize) {
        //开启分页拦截
        PageHelper.startPage(pagenum,pagesize);

        //获得后台数据
        List<OutStoreInfo> outStoreInfos = iOutStoreDao.queryOutStoreDetailByOutStoreId(id);

        //建一个pageModel对象用来向后台传数据
        PageModel<OutStoreInfo> pageModel = new PageModel<>();

        //向pageModel对象中装配页数等分页属性，以及数据
        PageInfo<OutStoreInfo> pageInfo = new PageInfo<>(outStoreInfos);
        pageModel.setPageNum(pageInfo.getPageNum());
        pageModel.setPageSize(pageInfo.getPageSize());
        pageModel.setTotalPage(pageInfo.getPages());
        pageModel.setTotalCount((int) pageInfo.getTotal());
        pageModel.setData(outStoreInfos);

        return pageModel;
    }
}
